package com.ruoyi.web.domain.sys;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;

@Data
@TableName("user_passkey")
public class UserPassKey {
    Integer id;
    String passkey;
    Integer userId;
    LocalDateTime createTime;
    int status; // 0-失效, 1-有效

    /**
     * 计算状态 - 只读属性（不持久化到数据库）
     * 如果创建时间超过24小时，则自动计算为失效状态
     */

    // 判断是否过期
    public boolean isExpired() {
        if (status == 0) return true; // 已失效
        if (createTime == null) return true; // 没有创建时间

        return ChronoUnit.HOURS.between(createTime, LocalDateTime.now()) >= 24;
    }

}
